#	$OpenBSD: files.sparc,v 1.102 2015/07/17 22:52:29 tedu Exp $
#	$NetBSD: files.sparc,v 1.44 1997/08/31 21:29:16 pk Exp $

# @(#)files.sparc	8.1 (Berkeley) 7/19/93
# sparc-specific configuration info

# maxpartitions must be first item in files.${ARCH}.newconf
maxpartitions 16

maxusers 2 8 64

device	mainbus {}
attach	mainbus at root

device	obio {[addr = -1], [level = -1]}
attach	obio at mainbus

device	iommu {}
attach	iommu at mainbus
file	arch/sparc/sparc/iommu.c		iommu

device	vme {}
attach	vme at iommu

device	vmel {[addr = -1], [level = -1], [vect = -1]}
attach	vmel at mainbus, vme
device	vmes {[addr = -1], [level = -1], [vect = -1]}
attach	vmes at mainbus, vme
file	arch/sparc/dev/obio.c		(obio | vmel | vmes | vme) & !solbourne

device	auxreg
attach	auxreg at mainbus, obio
file	arch/sparc/sparc/auxreg.c		auxreg needs-flag

device	clock
attach	clock at mainbus, obio

device	oclock
attach	oclock at obio

device	timer
attach	timer at mainbus, obio

device	eeprom
attach	eeprom at obio
file	arch/sparc/sparc/clock.c		!solbourne

device	power
attach	power at obio
file	arch/sparc/dev/power.c			power needs-flag

device	led
attach	led at mainbus, obio
file	arch/sparc/dev/led.c			led needs-flag

device	cpu
attach	cpu at mainbus
file	arch/sparc/sparc/cpu.c

device	memreg
attach	memreg at mainbus, obio
file	arch/sparc/sparc/memreg.c

device	eccmemctl
attach	eccmemctl at mainbus
file	arch/sparc/sparc/memecc.c		eccmemctl

device	zs {[channel = -1]}
attach	zs at mainbus, obio
file	arch/sparc/dev/zs.c			zs needs-flag
file	dev/ic/z8530sc.c			zs

device	fdc {}
attach	fdc at mainbus, obio
device	fd: disk
attach	fd at fdc
file	arch/sparc/dev/fd.c			fdc | fd needs-flag
file	arch/sparc/sparc/bsd_fdintr.s		fdc

device	xbox {}
device	sbus {[slot = -1], [offset = -1]}
attach	sbus at mainbus, iommu, sbus, xbox
file	arch/sparc/dev/sbus.c			sbus

# Sun specific files
include	"dev/sun/files.sun"

#
# Console (zs) related stuff
#

device	zstty: tty
attach	zstty at zs
file	dev/ic/z8530tty.c			zstty needs-flag
file	arch/sparc/dev/zs_kgdb.c		kgdb

device	zskbd: wskbddev, sunkbd
attach	zskbd at zs
file	arch/sparc/dev/z8530kbd.c		zskbd needs-flag

#
# Media Independent Interface (mii)
#
include	"dev/mii/files.mii"

#
# Machine-independent SCSI drivers
#
include	"scsi/files.scsi"

major	{sd = 7}
major	{vnd = 8}
major	{cd = 18}
major	{rd = 17}

device	dma {}
attach	dma at sbus, obio
device	ledma {}
attach	ledma at sbus
file	arch/sparc/dev/dma.c		dma | ledma
device	lebuffer {}
attach	lebuffer at sbus
file	arch/sparc/dev/lebuffer.c	lebuffer

device	qec {}
attach	qec at sbus
file	arch/sparc/dev/qec.c		qec

device	be: ifnet, ether, ifmedia
attach	be at qec
file	arch/sparc/dev/be.c		be

device	qe: ifnet, ether, ifmedia
attach	qe at qec
file	arch/sparc/dev/qe.c		qe

attach	gem at sbus with gem_sbus
file	arch/sparc/dev/if_gem_sbus.c	gem_sbus

attach	ti at sbus with ti_sbus
file	arch/sparc/dev/if_ti_sbus.c	ti_sbus

# HappyMeal (hme) ethernet
device	hme: ifnet, ether, mii, ifmedia
attach	hme at sbus
file	arch/sparc/dev/hme.c		hme

attach	esp at sbus, dma, obio
file	arch/sparc/dev/esp.c		esp

device	audioamd: audio, am7930
attach	audioamd at mainbus, obio, sbus
file	arch/sparc/dev/audioamd.c	audioamd
file	arch/sparc/sparc/amd7930intr.s	audioamd

device	audiocs: audio
attach	audiocs at sbus
file	arch/sparc/dev/cs4231.c		audiocs

# Framebuffers

file	arch/sparc/dev/fb.c

include	"dev/wscons/files.wscons"
include	"dev/rasops/files.rasops"
include	"dev/wsfont/files.wsfont"

define	bt_dac
file	arch/sparc/dev/bt_subr.c	bt_dac

device	agten: wsemuldisplaydev, rasops8
attach	agten at sbus
file	arch/sparc/dev/agten.c		agten

device	bwtwo: wsemuldisplaydev, rasops1
attach	bwtwo at sbus, obio, vmes, vmel
file	arch/sparc/dev/bwtwo.c		bwtwo

device	cgeight: wsemuldisplaydev, rasops1, bt_dac
attach	cgeight at obio
file	arch/sparc/dev/cgeight.c	cgeight

device	cgfour: wsemuldisplaydev, rasops8, bt_dac
attach	cgfour at obio
file	arch/sparc/dev/cgfour.c		cgfour

device	cgfourteen: wsemuldisplaydev, rasops8
attach	cgfourteen at obio
file	arch/sparc/dev/cgfourteen.c	cgfourteen

device	cgsix: wsemuldisplaydev, rasops8, bt_dac
attach	cgsix at sbus, obio
file	arch/sparc/dev/cgsix.c		cgsix

device	cgthree: wsemuldisplaydev, rasops8, bt_dac
attach	cgthree at sbus
file	arch/sparc/dev/cgthree.c	cgthree

device	cgtwelve: wsemuldisplaydev, rasops1
attach	cgtwelve at sbus
file	arch/sparc/dev/cgtwelve.c	cgtwelve

device	cgtwo: wsemuldisplaydev, rasops8
attach	cgtwo at vmes
file	arch/sparc/dev/cgtwo.c		cgtwo

device	mgx: wsemuldisplaydev, rasops8
attach	mgx at sbus
file	arch/sparc/dev/mgx.c		mgx

# Onboard Weitek P9000 found on Tadpole SPARCbook 3, and BT ``Chameleon'' RAMDAC
device	pninek: wsemuldisplaydev, rasops8, bt_dac
attach	pninek at sbus
file	arch/sparc/dev/p9000.c		pninek

device	btcham
attach	btcham at obio
file	arch/sparc/dev/bt445.c		btcham

# Onboard Weitek p9100 found on Tadpole SPARCbook 3GS/3GX/3TX/3XP
device	pnozz: wsemuldisplaydev, rasops8, bt_dac
attach	pnozz at sbus
file	arch/sparc/dev/p9100.c		pnozz

device	rfx: wsemuldisplaydev, rasops8
attach	rfx at sbus
file	arch/sparc/dev/rfx.c		rfx

device	tcx: wsemuldisplaydev, rasops8, bt_dac
attach	tcx at sbus
file	arch/sparc/dev/tcx.c		tcx

device	tvtwo: wsemuldisplaydev, rasops8
attach	tvtwo at sbus
file	arch/sparc/dev/tvtwo.c		tvtwo

device	vigra: wsemuldisplaydev, rasops8
attach	vigra at sbus
file	arch/sparc/dev/vigra.c		vigra

device	zx: wsemuldisplaydev, rasops8
attach	zx at sbus
file	arch/sparc/dev/zx.c		zx

# device definition in sys/conf/files
attach	le at sbus, ledma, lebuffer, obio: le24
file	arch/sparc/dev/if_le.c		le

attach	ie at obio, vmes, vmel
file	arch/sparc/dev/if_ie.c		ie

device	xdc {[drive = -1]}
attach	xdc at vmel
device	xd: disk
attach	xd at xdc
file	arch/sparc/dev/xd.c		xd needs-flag
major	{xd = 10}

device	xyc {[drive = -1]}
attach	xyc at vmes
device	xy: disk
attach	xy at xyc
file	arch/sparc/dev/xy.c		xy needs-flag
major	{xy = 3}

device	si: scsi, ncr5380sbc
attach	si at vmes
device	sw: scsi, ncr5380sbc
attach	sw at obio
file	arch/sparc/dev/si.c		si | sw

attach	qlw at sbus with qlw_sbus
file	arch/sparc/dev/qlw_sbus.c	qlw_sbus

#
# Generic Sparc stuff
#

file	arch/sparc/fpu/fpu.c
file	arch/sparc/fpu/fpu_add.c
file	arch/sparc/fpu/fpu_compare.c
file	arch/sparc/fpu/fpu_div.c
file	arch/sparc/fpu/fpu_explode.c
file	arch/sparc/fpu/fpu_implode.c
file	arch/sparc/fpu/fpu_mul.c
file	arch/sparc/fpu/fpu_sqrt.c
file	arch/sparc/fpu/fpu_subr.c

file	arch/sparc/sparc/autoconf.c		!solbourne
file	arch/sparc/sparc/cache.c
file	arch/sparc/sparc/conf.c
file	arch/sparc/sparc/consinit.c
file	arch/sparc/sparc/disksubr.c
file	arch/sparc/sparc/dvma.c
file	arch/sparc/sparc/emul.c
file	arch/sparc/sparc/in_cksum.c
file	arch/sparc/sparc/intr.c
file	arch/sparc/sparc/kgdb_machdep.c	kgdb
file	arch/sparc/sparc/machdep.c		!solbourne
file	arch/sparc/sparc/mem.c			!solbourne
file	arch/sparc/sparc/mutex.c
file	arch/sparc/sparc/openprom.c		!solbourne
file	arch/sparc/sparc/pmap.c			!solbourne
file	arch/sparc/sparc/process_machdep.c
file	arch/sparc/sparc/sys_machdep.c
file	arch/sparc/sparc/trap.c			!solbourne
file	arch/sparc/sparc/vm_machdep.c

file	arch/sparc/sparc/db_interface.c	ddb | kgdb
file	arch/sparc/sparc/db_trace.c	ddb
file	arch/sparc/sparc/db_disasm.c	ddb

#
# Compatibility modules
#

# Magma Serial/Parallel boards
device	magma {}
attach	magma at sbus
device	mtty
attach	mtty at magma
device	mbpp
attach	mbpp at magma
file	arch/sparc/dev/magma.c		magma | mtty | mbpp needs-flag

device	spif {}
attach	spif at sbus
device	stty
attach	stty at spif
device	sbpp
attach	sbpp at spif
file	arch/sparc/dev/spif.c		spif | stty | sbpp needs-flag

device	bpp {}
attach	bpp at sbus
file	arch/sparc/dev/bpp.c		bpp needs-flag

attach	xbox at sbus
file	arch/sparc/dev/xbox.c		xbox

# sysconfig registers on Force CPU-5V
device	scf {}
attach	scf at mainbus
file	arch/sparc/dev/scf.c		scf needs-flag

# flash memory on Force CPU-5V
device	flash {}
attach	flash at obio
file	arch/sparc/dev/flash.c		flash needs-flag

# VME/SBus bridge on Force CPU-5V
device	fga {}
attach	fga at iommu
device	fvme {[addr = -1], [level = -1], [vect = -1]}
attach	fvme at fga
file	arch/sparc/dev/fga.c		fga needs-flag

device	daadio {}
attach	daadio at fvme
file	arch/sparc/dev/daadio.c		daadio needs-flag

device	tctrl {}
attach	tctrl at obio
file	arch/sparc/dev/tctrl.c		tctrl needs-flag

# Prestoserve NVRAM
device	presto: disk
attach	presto at mainbus, sbus
file	arch/sparc/dev/presto.c		presto needs-flag

# PCMCIA devices

device	tslot: pcmciabus
attach	tslot at sbus
file	arch/sparc/dev/ts102.c		tslot

device	stp: pcmciabus
attach	stp at sbus with stp_sbus
file	dev/sbus/stp4020.c		stp
file	arch/sparc/dev/stp_sbus.c	stp_sbus

include	"dev/pcmcia/files.pcmcia"

# built-in modem on Tadpole SPARCbook
attach	com at obio with com_obio
file	arch/sparc/dev/com_obio.c	com_obio

# machine-dependent libkern component
file	lib/libkern/arch/sparc/saveregs.S

# quad support is necessary for 32 bit architectures
file	lib/libkern/adddi3.c
file	lib/libkern/anddi3.c
file	lib/libkern/ashldi3.c
file	lib/libkern/ashrdi3.c
file	lib/libkern/cmpdi2.c
file	lib/libkern/divdi3.c
file	lib/libkern/iordi3.c
file	lib/libkern/lshldi3.c
file	lib/libkern/lshrdi3.c
file	lib/libkern/moddi3.c
file	lib/libkern/muldi3.c
file	lib/libkern/negdi2.c
file	lib/libkern/notdi2.c
file	lib/libkern/qdivrem.c
file	lib/libkern/subdi3.c
file	lib/libkern/ucmpdi2.c
file	lib/libkern/udivdi3.c
file	lib/libkern/umoddi3.c
file	lib/libkern/xordi3.c

file	lib/libkern/arch/sparc/sdiv.S
file	lib/libkern/arch/sparc/udiv.S
file	lib/libkern/arch/sparc/urem.S
file	lib/libkern/arch/sparc/rem.S
